Ανάπτυξη ∆ιαδικτυακών Εφαρμογών

Κωδικός μαθήματος
ΨΣ022
Μονάδες ECTS
6
Εξάμηνο
Εξάμηνο Ε
Κατηγορία μαθήματος
Περιγραφή μαθήματος
ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Αντικείμενο του μαθήματος είναι η κατανόηση και εκμάθηση βασικών και απαραίτητων τεχνολογιών, γλωσσών προγραμματισμού και μεθόδων για την ανάπτυξη διαδικτυακών συστημάτων και εφαρμογών παγκόσμιου ιστού. Βασικός στόχος είναι η σχεδίαση και ανάπτυξη συστημάτων και δυναμικών εφαρμογών του παγκόσμιου ιστού όπου ένα σημαντικό τους μέρος εκτελείται στην πλευρά του πελάτη (client-side) και κάποιο άλλο εξίσου σημαντικό μέρος εκτελείται στην πλευρά του εξυπηρετητή (server-side). Oι φοιτητές και οι φοιτήτριες θα αποκτήσουν την απαραίτητη γνώση για την ανάπτυξη εφαρμογών ιστού με τη άμεση χρήση γλωσσών προγραμματισμού όπως η PHP. Τέλος, στόχος είναι να γίνει κατανόηση των μεθόδων σχετικά με την ανάπτυξη συστημάτων και εφαρμογών ιστού καθώς και προηγμένων αρχιτεκτονικών για την ανάπτυξη διαδικτυακών συστημάτων και εφαρμογών (API, Service Oriented Architectures). Με την ολοκλήρωση του μαθήματος, οι φοιτητές θα έχουν αποκτήσει θεωρητική και πρακτική γνώση, κατανόηση αλλά και δυνατότητες εφαρμογής και ανάλυσης σχετικά με τεχνολογίες για την ανάπτυξη διαδικτυακών συστημάτων, εφαρμογών και υπηρεσιών ιστού. Έτσι, οι φοιτητές και φοιτήτριες μετά την επιτυχή ολοκλήρωση του μαθήματος, θα είναι σε θέση να:

  • εξηγούν τον τρόπο λειτουργίας των διαδικτυακών εφαρμογών (Μοντέλο πελάτη - εξυπηρετητή)
  • εξηγούν αρχιτεκτονικές για την ανάπτυξη διαδικτυακών συστημάτων και εφαρμογών (client-server), βασικά συστατικά στοιχεία υποδομής για τις εφαρμογές ιστού (web servers) και θεμελιώδεις έννοιες για την ανάπτυξη διαδικτυακών συστημάτων (state, session, application, request, response).
  • σχεδιάζουν, να υλοποιούν και να συντηρούν εφαρμογές και συστήματα που απαιτούν Client side προγραμματισμό αξιοποιώντας τεχνολογίες και γλώσσες: HTML5, CSS, Javascript.
  • σχεδιάζουν, να υλοποιούν και να συντηρούν δυναμικές εφαρμογές και συστήματα που απαιτούν Server Side προγραμματισμό με χρήση της γλώσσας προγραμματισμού PHP.
  • διασυνδέσουν την εφαρμογή τους με βάσεις δεδομένων MySQL και να διατηρούν την ασφάλεια της εφαρμογής του σε υψηλά επίπεδα (αποφυγή SQL Injections κ.ά.) • υλοποιούν web APIs που επιστρέφουν αποτελέσματα σε μορφή JSON ή XML.
  • αναπτύσσουν ανεξάρτητα το front end τμήμα και το back end τμήμα της εφαρμογής
  • χρησιμοποιούν API για την επικοινωνία των τμημάτων της εφαρμογής και κλήσεις AJAX για ασύγχρονη επικοινωνία.
  • δημιουργούν και να διαχειρίζονται περιεχόμενο σε μορφή JSON και XML/DTD.
  • αναπτύσσουν συνεργατικά την εφαρμογή τους χρησιμοποιώντας (Distributed) Version Control Systems (D-VCS, π.χ. git-github).
ΓΕΝΙΚΕΣ ΙΚΑΝΟΤΗΤΕΣ
  • Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών
  • Αυτόνομη και ομαδική εργασία
  • Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης
ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Σύντομη περιγραφή

  • Ανασκόπηση του WWW, Ιστορική αναδρομή, Εξυπηρετητές ιστού, URLs, Το μοντέλο πελάτη-εξυπηρετητή στο WWW.
  • Εισαγωγή στην HTML και CSS
  • Προγραμματισμός από την μερία του πελάτη (client side) με τη γλώσσα Javascript, Το μοντέλο DOM
  • Εισαγωγή στην PHP (εντολές ελέγχου, επανάληψης, συναρτήσεις, φόρμες, get, post, sessions, cookies)
  • PHP και MySQL (H βιβλιοθήκη MySQLI, PDO. Σύνδεση με βάση δεδομένων, εκτέλεση SQL DML και DDL από κώδικα PHP, SQL Injections και prepared statements)
  • Το πρωτόκολλο http.
  • Η γλώσσα JSON και η γλώσσα XML. Επικύρωση XML μέσω DTD.
  • Ασύγχρονη επικοινωνία server – client μέσω AJAX. Ενημέρωση ιστοσελίδας χωρίς επαναφόρτωση.
  • Υπηρεσίες ιστού (web services), Web APIs, REST APIs. Ανεξάρτητη ανάπτυξη του front-end και του back-end. Επικοινωνία μέσω API.
  • Συνεργατική ανάπτυξη διαδικτυακής εφαρμογής, χρήση του git.
ΟΡΓΑΝΩΣΗ ΔΙΔΑΣΚΑΛΙΑΣ
Δραστηριότητα Φόρτος Εργασίας Εξαμήνου
Διαλέξεις 39
Φροντιστηριακή διδασκαλία 13
Αυτοτελής μελέτη 98
Σύνολο μαθήματος 150
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ
  • Γραπτή εξέταση στο τέλος του εξαμήνου
  • Ομαδική ή ατομική εργασία που θα αφορά την ανάπτυξη διαδικτυακής εφαρμογής
ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

1.    Randy Connolly, Ricardo Hoar, Προγραμματισμός για το Web, εκδόσεις Μ. Γκιούρδας, 2015
2.    Harvey M. Deitel, Paul J. Deitel, Προγραμματισμός Internet & World Wide Web, 4η έκδοση, εκδόσεις Μ. Γκιούρδας, 2011
3.    Julie C. Meloni, Μάθετε PHP, MySQL και Apache Όλα σε Ένα, 5η Έκδοση, εκδόσεις Μ. Γκιούρδας, 2014
4.    BALLARD PHIL, MONCUR MICHAEL, Μάθετε Ajax, Javascript και PHP, εκδόσεις Μ. Γκιούρδας, 2009

ΗΛΕΚΤΡΟΝΙΚΗ ΣΕΛΙ∆Α ΜΑΘΗΜΑΤΟΣ ΣΤΟ ECLASS

https://eclass.uop.gr/modules/auth/opencourses.php?fc=294